<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>SystemSharp: HLS.cs Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">SystemSharp
   &#160;<span id="projectnumber">0.3</span>
   </div>
   <div id="projectbrief">A system-level modeling framework for designing real-time embedded systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_h_l_s_8cs_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">HLS.cs</div>  </div>
</div><!--header-->
<div class="contents">
<a href="_h_l_s_8cs.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="keyword">using</span> System;</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="keyword">using</span> System.Collections.Generic;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">using</span> System.Diagnostics;</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="keyword">using</span> System.Diagnostics.Contracts;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">using</span> System.IO;</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">using</span> System.Linq;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">using</span> System.Reflection;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="keyword">using</span> System.Text;</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">using</span> SystemSharp.Assembler;</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="keyword">using</span> SystemSharp.Assembler.DesignGen;</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="keyword">using</span> SystemSharp.Assembler.Rewriters;</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="keyword">using</span> SystemSharp.Components;</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="keyword">using</span> SystemSharp.Components.FU;</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="keyword">using</span> SystemSharp.Components.Std;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">using</span> SystemSharp.Meta;</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="keyword">using</span> SystemSharp.SchedulingAlgorithms;</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">using</span> SystemSharp.Synthesis;</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">using</span> SystemSharp.SysDOM;</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="keyword">using</span> SystemSharp.SysDOM.Transformations;</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">using</span> SystemSharp.TreeAlgorithms;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html">   42</a></span>&#160;<span class="keyword">namespace </span>SystemSharp.Analysis.M2M</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;{</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l_s_rewriter.html">   47</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l_s_rewriter.html">IXILSRewriter</a></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    {</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        IList&lt;XILSInstr&gt; Rewrite(IList&lt;XILSInstr&gt; instrs);</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    }</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l3_rewriter.html">   60</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l3_rewriter.html">IXIL3Rewriter</a></div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    {</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> Rewrite(<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> func);</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    }</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;</div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_reporting_x_i_l_rewriter.html">   74</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_reporting_x_i_l_rewriter.html">IReportingXILRewriter</a></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keywordtype">void</span> GetReport(Stream stm);</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    }</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">   86</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">enum</span> <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">EHLSProgress</a></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    {</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a4ead4fdae2e4938c155e1db52aa1546d">Compiled</a>,</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774ab3f09a11ba6134774183ac404b73b9b8">AboutToSchedule</a>,</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a2b7dabba0077abe3732e0418b048a56b">Scheduled</a>,</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a9a7514f14070883a3610535dd2101abc">InterconnectCreated</a>,</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;        <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774ad55062b3e824f1b61d6bbf0028c793f9">ControlpathCreated</a></div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    }</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">public</span> delegate <span class="keywordtype">void</span> <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#ae02fc0bf28577d2ff765a89d47e39cd5">HLSProgressProc</a>(IHLSState state, <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">EHLSProgress</a> progress);</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;</div>
<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">  124</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">interface </span><a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">IHLSState</a></div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;    {</div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#ad2806fd26a91eae38915db664b0e49a4">  129</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> Plan { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a2cca02e790c3cf9dc7c9f1de8988e4f8">  134</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> Design { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#abc656e463886b787c4ab3bf0805ee37d">  139</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> Host { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a325e45949ab4003854da858943e6eb96">  144</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> Proc { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div>
<div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#acc80e3d8c52efe9226d454d90dc607aa">  149</a></span>&#160;        <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> TargetProject { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keywordtype">void</span> Proceed();</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;        <span class="keywordtype">void</span> Repeat();</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        <span class="keywordtype">void</span> Cancel();</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#affdcf803aff8fd04fe6ba23f2133cef9">  182</a></span>&#160;        <span class="keyword">event</span> <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#ae02fc0bf28577d2ff765a89d47e39cd5">HLSProgressProc</a> <a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#affdcf803aff8fd04fe6ba23f2133cef9">OnProgress</a>;</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a51c91e2a4cb5ebe5c2d2570efb3ac908">  187</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> Constraints { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;</div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#afe96ba50e1e2835b611083ac5f585588">  192</a></span>&#160;        <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder.html">IInterconnectBuilder</a> InterconnectBuilder { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a9c6329c7dd9734304b731600d6ddb9ca">  197</a></span>&#160;        <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder.html">IControlpathBuilder</a> ControlpathBuilder { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a6f52ce155d367cbda21e65fe8154a437">  202</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> PreprocessedFunction { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a7735a6e2a175ebff5c65badd2a68c802">  207</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> XILSInput { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a329784a553215107a4f2b4ac5cbeabb9">  212</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> XILSTransformed { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a4dfeb24265bdc629798afa1b1c66f0c7">  217</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> XIL3Input { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a6464b29560769a76bd7e68717eb8b8f9">  222</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> XIL3Transformed { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a2638b78059487530eea8f20b3b1c8c47">  227</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html">XILSchedulingAdapter</a> SchedulingAdapter { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#a94237d0efc2146ffa116816936e71780">  232</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">FlowMatrix</a> RawFlows { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#ae071f06c429fbb468435665b4af1a64d">  237</a></span>&#160;        <a class="code" href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">FlowMatrix</a> RealFlows { <span class="keyword">get</span>; }</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    }</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div>
<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html">  247</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html">DocumentingHLSObserver</a></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    {</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> OnNewHLS(<a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">IHLSState</a> state)</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        {</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;            <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html">DocumentingHLSObserver</a>(state);</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        }</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
<div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#aede69db52a94623e5276113ba5191997">  257</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#aede69db52a94623e5276113ba5191997">Enable</a>()</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        {</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;            HLSPlan.OnBeginHLS += OnNewHLS;</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        }</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div>
<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#ab63c7f6684b60c36e203276cdcb7e71b">  265</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#ab63c7f6684b60c36e203276cdcb7e71b">Disable</a>()</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        {</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;            HLSPlan.OnBeginHLS -= OnNewHLS;</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        }</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html">DocumentingHLSObserver</a>(<a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">IHLSState</a> state)</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        {</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;            state.OnProgress += OnProgress;</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;        }</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keyword">private</span> <span class="keywordtype">void</span> Report(IHLSState state, <span class="keywordtype">string</span> name, <span class="keywordtype">string</span> text)</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;        {</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;            state.Host.Descriptor.GetDocumentation().Documents.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_document.html">Document</a>(</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;                name + state.Proc.Name + <span class="stringliteral">&quot;.txt&quot;</span>, text));</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        }</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="keyword">private</span> <span class="keywordtype">string</span> GetProfilerReport(<a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> constraints)</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        {</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;            var sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;            <span class="keywordflow">foreach</span> (var prof <span class="keywordflow">in</span> constraints.<a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html#ade30bdcd1ebe8f860ecde74c3cf09f87">Profilers</a>)</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            {</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;                sb.AppendLine(prof.ToString());</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;            }</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;            <span class="keywordflow">return</span> sb.ToString();</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        }</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keyword">private</span> <span class="keywordtype">void</span> OnProgress(IHLSState state, <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">EHLSProgress</a> progress)</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        {</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;            <span class="keywordflow">switch</span> (progress)</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;            {</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;                <span class="keywordflow">case</span> EHLSProgress.Compiled:</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.0.xil-s-input&quot;</span>, state.XILSInput.ToString());</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.1.xil-s-transformed&quot;</span>, state.XILSTransformed.ToString());</div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.2.xil-3-input&quot;</span>, state.XIL3Input.ToString());</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.3.xil-3-transformed&quot;</span>, state.XIL3Transformed.ToString());</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;                <span class="keywordflow">case</span> EHLSProgress.Scheduled:</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.4.schedule.&quot;</span>, state.SchedulingAdapter.GetScheduleReport());</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;                <span class="keywordflow">case</span> EHLSProgress.InterconnectCreated:</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.5.0.timedflows.&quot;</span>, state.RawFlows.GetFlowReport());</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.5.2.interconnectflows.&quot;</span>, state.RealFlows.GetFlowReport());</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.5.3.allocation.&quot;</span>,</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                        state.SchedulingAdapter.Allocator.CreateAllocationStatistics(state.RawFlows.NumCSteps).ToString());</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.5.4.binding.&quot;</span>,</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                        state.SchedulingAdapter.GetBindingReport());</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;                <span class="keywordflow">case</span> EHLSProgress.ControlpathCreated:</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;                    Report(state, <span class="stringliteral">&quot;hls.6.profilers.&quot;</span>, GetProfilerReport(state.Constraints));</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;                <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;                    <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;            }</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        }</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    }</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html">  328</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html">HLSPlanExtensions</a></div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    {</div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html#a5dc3ba8d0ad20da565f3712a8e1cd738">  336</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html#a5dc3ba8d0ad20da565f3712a8e1cd738">GetHLSPlan</a>(<span class="keyword">this</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_design_descriptor.html">DesignDescriptor</a> dd)</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        {</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(dd != null);</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;            var plan = dd.QueryAttribute&lt;<a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a>&gt;();</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;            <span class="keywordflow">if</span> (plan == null)</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            {</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;                plan = HLSPlan.CreateDefaultPlan();</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;                dd.AddAttribute(plan);</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;            }</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;            <span class="keywordflow">return</span> plan;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        }</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    }</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;</div>
<div class="line"><a name="l00365"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">  365</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;    {</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;        <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a>()</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;        {</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;            DocumentingHLSObserver.Enable();</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        }</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>HLSState : <a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">IHLSState</a></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        {</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> _plan;</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> _design;</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> _host;</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> _proc;</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;            <span class="keyword">private</span> <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> _proj;</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;            <span class="keyword">public</span> HLSState(<a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> plan, <a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> design, <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> host, <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> proc, <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> proj)</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;            {</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;                _plan = plan;</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;                _design = design;</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                _host = host;</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                _proc = proc;</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;                _proj = proj;</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;            }</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> Plan</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;            {</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _plan; }</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;            }</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> Design</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;            {</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _design; }</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;            }</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;</div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> Host</div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;            {</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _host; }</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;            }</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> Proc</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;            {</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _proc; }</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;            }</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;            <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> TargetProject</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;            {</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;                <span class="keyword">get</span> { <span class="keywordflow">return</span> _proj; }</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;            }</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;            <span class="keyword">internal</span> <span class="keywordtype">bool</span> _proceed;</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> Proceed()</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;            {</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;                _proceed = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;            }</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;            <span class="keyword">internal</span> <span class="keywordtype">bool</span> _repeat;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> Repeat()</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;            {</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                _repeat = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;            }</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;            <span class="keyword">internal</span> <span class="keywordtype">bool</span> _cancel;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> Cancel()</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;            {</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                _cancel = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;            }</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;            <span class="keyword">public</span> <span class="keyword">event</span> <a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#ae02fc0bf28577d2ff765a89d47e39cd5">HLSProgressProc</a> OnProgress;</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;            <span class="keyword">internal</span> <span class="keywordtype">void</span> NotifyProgress(<a class="code" href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">EHLSProgress</a> progress)</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;            {</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;                _proceed = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                _repeat = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;                _cancel = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;                <span class="keywordflow">if</span> (OnProgress != null)</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;                    OnProgress(<span class="keyword">this</span>, progress);</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;            }</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> Constraints { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;            <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder.html">IInterconnectBuilder</a> InterconnectBuilder { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;            <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder.html">IControlpathBuilder</a> ControlpathBuilder { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">Function</a> PreprocessedFunction { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> XILSInput { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> XILSTransformed { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> XIL3Input { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> XIL3Transformed { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html">XILSchedulingAdapter</a> SchedulingAdapter { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">FlowMatrix</a> RawFlows { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;            <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">FlowMatrix</a> RealFlows { <span class="keyword">get</span>; <span class="keyword">internal</span> set; }</div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        }</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;</div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        <span class="keyword">public</span> delegate <span class="keywordtype">void</span> BeginHLSFunc(<a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">IHLSState</a> state);</div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keyword">private</span> <span class="keyword">static</span> BeginHLSFunc _beginHLS;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">event</span> BeginHLSFunc OnBeginHLS</div>
<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9b8704eba8920be013220d6fef2141d2">  468</a></span>&#160;        {</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;            add { _beginHLS += value; }</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;            <span class="keyword">remove</span> { _beginHLS -= value; }</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;        }</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;       </div>
<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ac6ea653be5485bf26df11d52a8905a8f">  478</a></span>&#160;        <span class="keyword">public</span> List&lt;IXILSRewriter&gt; XILSTransformations { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
<div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a1ef5c067dd5ab4a6328936b7b422d40f">  485</a></span>&#160;        <span class="keyword">public</span> List&lt;IXIL3Rewriter&gt; XIL3Transformations { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;</div>
<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a4e3f48d3aa731615107c68b93c27e0b8">  492</a></span>&#160;        <span class="keyword">public</span> List&lt;IXILMapper&gt; XILMappers { <span class="keyword">get</span>; <span class="keyword">private</span> set; }</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a6bab3ace70577526cd4b6086d6de5eb1">  497</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_scheduling_algorithms_1_1_i_c_f_g_scheduling_algorithm.html">ICFGSchedulingAlgorithm</a> Scheduler { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
<div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ab1fb014f30aede15aa23b19d59286d8b">  502</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder_factory.html">IInterconnectBuilderFactory</a> InterconnectBuilder { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;</div>
<div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a879414686ada1bf2407099650fc8ae0a">  507</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder_factory.html">IControlpathBuilderFactory</a> ControlPathBuilder { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;</div>
<div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#abf218335826bf3f8b73f698efd25811f">  512</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_components_1_1_std_1_1_i_block_mem_factory.html">IBlockMemFactory</a> ProgramROMFactory { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;</div>
<div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#add13884da577ce6809095f7488e229c6">  517</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_synthesis_1_1_memory_mapper.html">MemoryMapper</a> MemMapper { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;</div>
<div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a043aab04fbc5bfaf0bcfa05897a390ca">  522</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a043aab04fbc5bfaf0bcfa05897a390ca">HLSPlan</a>()</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        {</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;            XILSTransformations = <span class="keyword">new</span> List&lt;IXILSRewriter&gt;();</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;            XIL3Transformations = <span class="keyword">new</span> List&lt;IXIL3Rewriter&gt;();</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;            XILMappers = <span class="keyword">new</span> List&lt;IXILMapper&gt;();</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;            ProgramROMFactory = ROM.Factory;</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        }</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div>
<div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae6c070cf66bbf54bc0495371cec84dce">  537</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae6c070cf66bbf54bc0495371cec84dce">AddXILMapper</a>(Type dpuType)</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        {</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(dpuType != null);</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;            <span class="keywordflow">if</span> (typeof(<a class="code" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html">IXILMapper</a>).IsAssignableFrom(dpuType))</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;            {</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;                <span class="comment">// dpuType is an IXILMapper type =&gt; instantiate it directly.</span></div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;                <span class="keywordflow">try</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;                {</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;                    var mapper = (<a class="code" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html">IXILMapper</a>)Activator.CreateInstance(dpuType);</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;                    AddXILMapper(mapper);</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;                }</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;                <span class="keywordflow">catch</span> (Exception e)</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;                {</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Unable to create instance of type &quot;</span> + dpuType, e);</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;                }</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;            }</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;            {</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;                <span class="comment">// check for DeclareXILMapper attribute</span></div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;                var decl = (<a class="code" href="class_system_sharp_1_1_components_1_1_f_u_1_1_declare_x_i_l_mapper.html">DeclareXILMapper</a>)</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;                    dpuType.GetCustomAndInjectedAttributes(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_f_u_1_1_declare_x_i_l_mapper.html">DeclareXILMapper</a>)).SingleOrDefault();</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;                <span class="keywordflow">if</span> (decl == null)</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> ArgumentException(<span class="stringliteral">&quot;Type &quot;</span> + dpuType + <span class="stringliteral">&quot; does not implement IXILMapper, nor does it specify a DeclareXILMapper attribute.&quot;</span>);</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;                AddXILMapper(decl.CreateMapper());</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;            }</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;        }</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;</div>
<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9c08bdc5b1fd74546e81b376c3bbba74">  569</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9c08bdc5b1fd74546e81b376c3bbba74">AddXILMapper</a>(<a class="code" href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html">IXILMapper</a> mapper)</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;        {</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;            XILMappers.Add(mapper);</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        }</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;        <span class="keyword">private</span> Action&lt;IXILMapping&gt; _onFUCreated;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;        </div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;        <span class="keyword">public</span> <span class="keyword">event</span> Action&lt;IXILMapping&gt; OnFUCreated</div>
<div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a7ad09972d7bc59fc07c5be0d6c444d3e">  580</a></span>&#160;        {</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;            add { _onFUCreated += value; }</div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;            <span class="keyword">remove</span> { _onFUCreated -= value; }</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;        }</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;</div>
<div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9a8e4b47cd0082e9c0487a9da0c12e10">  589</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9a8e4b47cd0082e9c0487a9da0c12e10">CopyTo</a>(<a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> other)</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;        {</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;            other.Scheduler = Scheduler;</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;            other.InterconnectBuilder = InterconnectBuilder;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;            other.ControlPathBuilder = ControlPathBuilder;</div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;            other.MemMapper = MemMapper;</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;            other.ProgramROMFactory = ProgramROMFactory;</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;            other.XILSTransformations.AddRange(XILSTransformations);</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;            other.XIL3Transformations.AddRange(XIL3Transformations);</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;            other.XILMappers.AddRange(XILMappers);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;        }</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;</div>
<div class="line"><a name="l00605"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a232dcd65dd28869d5ca1143571c57a80">  605</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a232dcd65dd28869d5ca1143571c57a80">CreateDefaultPlan</a>()</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        {</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;            <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> plan = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a>();</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_fix_point_implementor.html">FixPointImplementor</a>());</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;            <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_x_i_l_memory_mapper.html">XILMemoryMapper</a> xmm = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_x_i_l_memory_mapper.html">XILMemoryMapper</a>()</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;            {</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;                MapConstantsToNemory = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;                MapVariablesToMemory = <span class="keyword">false</span></div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            };            </div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;            <span class="comment">//plan.XILSTransformations.Add(xmm);</span></div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;            plan.MemMapper = xmm.Mapper;</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_reduce_types.html">ReduceTypes</a>());</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Abs_int));</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Neg_int));</div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Abs_double));</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Neg_double));</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Neg_float));</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Cos_ScSinCos_double));</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Sin_ScSinCos_double));</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Cos_ScSinCos_single));</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Sin_ScSinCos_single));</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Cos_ScSinCos_fixpt));</div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">ExpandXILS</a>(<a class="code" href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">EXILSExpansion</a>.Expand_Sin_ScSinCos_fixpt));</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_transitive_goto_eliminator.html">TransitiveGotoEliminator</a>());</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_unreachable_instruction_eliminator.html">UnreachableInstructionEliminator</a>());</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_conditional_branch_optimizer.html">ConditionalBranchOptimizer</a>());</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_unreachable_instruction_eliminator.html">UnreachableInstructionEliminator</a>());</div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_impl_type_rewriter.html">ImplTypeRewriter</a>());</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            plan.XILSTransformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_read_write_dependency_injector.html">ReadWriteDependencyInjector</a>());</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;            plan.XIL3Transformations.Add(<span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_eliminate_common_subexpressions.html">EliminateCommonSubexpressions</a>());</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160;</div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u.html">ALU</a>));</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html">PortReaderXILMapper</a>));</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html">PortWriterXILMapper</a>));</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit.html">LocalStorageUnit</a>));</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html">ConstLoadingXILMapper</a>));</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html">NopMapper</a>));</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2.html">MUX2</a>));</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html">Slicer</a>));</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_fix_f_p_mod1.html">FixFPMod1</a>));</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_shifter.html">Shifter</a>));</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;            <span class="comment">//plan.AddXILMapper(typeof(ConcatenizerXILMapper));</span></div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html">InlineConcatMapper</a>));</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html">FixedAbs</a>));</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html">FloatNegAbs</a>));</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html">FloatSignAsSigned</a>));</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html">InlineFieldMapper</a>));</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;            plan.AddXILMapper(typeof(<a class="code" href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html">InlineMemoryMapper</a>));</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;            <span class="comment">//plan.AddXILMapper(typeof(SinCosLUTCore));</span></div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;            plan.Scheduler = ForceDirectedScheduler.Instance.ToFunctionScheduler();</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;            plan.InterconnectBuilder = MinRegInterconnectBuilder.Factory;</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;            plan.ControlPathBuilder = FSMControlpathBuilder.Factory;</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;            <span class="keywordflow">return</span> plan;</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        }</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        <span class="keyword">private</span> <span class="keyword">static</span> <span class="keywordtype">void</span> ComputeCStepsForBranchTargets(<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html">XILSchedulingAdapter</a> xsa)</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        {</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;            var cfg = xsa.CFG;</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; cfg.Instructions.Count; i++)</div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;            {</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;                <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html">XIL3Instr</a> xil3i = cfg.Instructions[i];</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;                <span class="keywordflow">switch</span> (xil3i.<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html#ab8cd605fc1b82442d7dab4885bc231ca">Name</a>)</div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;                {</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;                    <span class="keywordflow">case</span> InstructionCodes.BranchIfFalse:</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;                    <span class="keywordflow">case</span> InstructionCodes.BranchIfTrue:</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;                    <span class="keywordflow">case</span> InstructionCodes.Goto:</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;                        {</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;                            var target = (<a class="code" href="class_system_sharp_1_1_assembler_1_1_branch_label.html">BranchLabel</a>)xil3i.<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html#a55330e8f2ddc40d951123d8dc979c14a">StaticOperand</a>;</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;                            var bb = cfg.GetBasicBlockContaining(target.InstructionIndex);</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;                            target.CStep = (int)bb.Range.Select(xi =&gt; xsa.<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html#a64607b93cc268df910288ffde26f9d51">CStep</a>[xi]).Min();</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;                        }</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;                        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;                    <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;                        <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;                }</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;            }</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        }</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;</div>
<div class="line"><a name="l00689"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ac863d5d54d64744b6d660dc64145d209">  689</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;</div>
<div class="line"><a name="l00694"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#aa5b9bfe26fae839b680666b91be86dde">  694</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="interface_system_sharp_1_1_assembler_1_1_i_allocation_policy_factory.html">IAllocationPolicyFactory</a> AllocationPolicy { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;</div>
<div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a02541abe1b8224c1c38550b3c80e2af6">  699</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">bool</span> ConvertFieldsToLocals { <span class="keyword">get</span>; set; }</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="preprocessor">#if false</span></div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;<span class="preprocessor"></span>        <span class="comment">// scheduled for removal.</span></div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> ExecuteXILTransformations(<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> fnasm)</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;        {</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;            fnasm.SanityCheck();</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;            IList&lt;XILSInstr&gt; instrs = fnasm.Instructions.ToList();</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;            <span class="keywordflow">foreach</span> (<a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l_s_rewriter.html">IXILSRewriter</a> rw <span class="keywordflow">in</span> XILSTransformations)</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;            {</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;                instrs = rw.Rewrite(instrs);</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160;                fnasm = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a>(fnasm.Name, fnasm.Arguments, fnasm.Locals, instrs.ToArray());</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;                fnasm.SanityCheck();</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;            }</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;            <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> fnasm3 = fnasm.ToXIL3();</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;            <span class="keywordflow">foreach</span> (IXIL3Rewriter rw <span class="keywordflow">in</span> XIL3Transformations)</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;            {</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;                fnasm3 = rw.Rewrite(fnasm3);</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;                fnasm3.SanityCheck();</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;            }</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;            <span class="keywordflow">return</span> fnasm3;</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;        }</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ac147fce20baff5592241d44ca269596e">  734</a></span>&#160;        <span class="keyword">public</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ac147fce20baff5592241d44ca269596e">Execute</a>(<a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> design, <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> host, <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> proc, <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> targetProject)</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160;        {</div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(design != null);</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(host != null);</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(proc != null);</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(targetProject != null);</div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;            design.CurrentProcess = proc.Instance;</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;            var clk = proc.Sensitivity[0];</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;            <a class="code" href="class_system_sharp_1_1_components_1_1_signal_base.html">SignalBase</a> clkI;</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;            var sdClk = clk as <a class="code" href="class_system_sharp_1_1_meta_1_1_signal_descriptor.html">SignalDescriptor</a>;</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;            <span class="keywordflow">if</span> (sdClk == null)</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;                clkI = ((SignalDescriptor)((<a class="code" href="class_system_sharp_1_1_meta_1_1_port_descriptor.html">PortDescriptor</a>)clk).BoundSignal).Instance;</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;                clkI = sdClk.Instance;</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;            </div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;            var state = <span class="keyword">new</span> HLSState(<span class="keyword">this</span>, design, host, proc, targetProject);</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;            proc.AddAttribute(state);</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;            <span class="keywordflow">if</span> (_beginHLS != null)</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;                _beginHLS(state);</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;            var dpb = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_design_gen_1_1_default_datapath_builder.html">DefaultDatapathBuilder</a>(host, clkI, proc.<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#a1de8ff5411a1b144b0a8de282167fcb3">Name</a>);</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;            state.InterconnectBuilder = InterconnectBuilder.Create(host, dpb.ICBinder);</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;            state.ControlpathBuilder = ControlPathBuilder.Create(host, dpb.FUBinder);</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;            state.ControlpathBuilder.PersonalizePlan(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;            <span class="keywordflow">do</span></div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;            {</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;                <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a> fnasm;</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;                <span class="keywordflow">if</span> (!proc.HasAttribute&lt;<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a>&gt;())</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;                {</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;                    var func = proc.Implementation;</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;                    IEnumerable&lt;Function&gt; inlinedFunctions;</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;                    func = func.InlineCalls(out inlinedFunctions);</div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;                    <span class="keywordflow">if</span> (ConvertFieldsToLocals)</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;                    {</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;                        <a class="code" href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">Variable</a>[] newLocals;</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;                        func = func.ConvertFieldsToLocals(out newLocals);</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;                    }</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;                    state.PreprocessedFunction = func;</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;                    fnasm = state.PreprocessedFunction.Compile(DefaultInstructionSet.Instance);</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                }</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                {</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;                    fnasm = proc.QueryAttribute&lt;<a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a>&gt;();</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;                }</div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;                fnasm.SanityCheck();</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;                state.XILSInput = fnasm;</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;                IList&lt;XILSInstr&gt; instrs = state.XILSInput.Instructions.ToList();</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;                <span class="keywordflow">foreach</span> (var rw <span class="keywordflow">in</span> XILSTransformations)</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;                {</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;                    instrs = rw.Rewrite(instrs);</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;                    fnasm = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">XILSFunction</a>(fnasm.Name, fnasm.Arguments, fnasm.Locals, instrs.ToArray());</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;                    fnasm.SanityCheck();</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;                }</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;                state.XILSTransformed = fnasm;</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;                <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">XIL3Function</a> fnasm3 = fnasm.ToXIL3();</div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;                state.XIL3Input = fnasm3;</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;</div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;                <span class="keywordflow">foreach</span> (<a class="code" href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l3_rewriter.html">IXIL3Rewriter</a> rw <span class="keywordflow">in</span> XIL3Transformations)</div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                {</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;                    fnasm3 = rw.Rewrite(fnasm3);</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;                    fnasm3.SanityCheck();</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;                }</div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;                state.XIL3Transformed = fnasm3;</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;                state.NotifyProgress(EHLSProgress.Compiled);</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;            } <span class="keywordflow">while</span> (state._repeat);</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;            <span class="keywordflow">if</span> (state._cancel)</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;            <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a> constraints;</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;</div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;            <span class="keywordflow">do</span></div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;            {</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;                var xmm = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html">XILMapperManager</a>();</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;                <span class="keywordflow">foreach</span> (var dpu <span class="keywordflow">in</span> Enumerable.Reverse(XILMappers))</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;                    xmm.AddMapper(dpu);</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;                DesignContext.Push();</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;                var xilsa = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html">XILSchedulingAdapter</a>(state.XIL3Transformed, xmm, host, targetProject);</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;                <span class="keywordflow">if</span> (AllocationPolicy != null)</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;                    xilsa.Allocator.Policy = AllocationPolicy.Create();</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;                <span class="keywordflow">if</span> (_onFUCreated != null)</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;                    xilsa.Allocator.OnFUAllocation += _onFUCreated;</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;                state.SchedulingAdapter = xilsa;</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;                state.NotifyProgress(EHLSProgress.AboutToSchedule);</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;                constraints = <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a>;</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;                <span class="keywordflow">if</span> (constraints == null)</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;                {</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;                    <span class="keywordflow">if</span> (proc.<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#a8d913dfbb4d12e63790db27c1a45521e">Implementation</a> != null)</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;                        constraints = proc.Implementation.QueryAttribute&lt;<a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a>&gt;();</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;                    <span class="keywordflow">if</span> (constraints == null)</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                        constraints = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SchedulingConstraints</a>();</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                }</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;                state.Constraints = constraints;</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;                <span class="keywordflow">if</span> (constraints.MinimizeNumberOfFUs)</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;                {</div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;                    <span class="keywordflow">foreach</span> (var instr <span class="keywordflow">in</span> state.XIL3Transformed.Instructions)</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;                    {</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;                        xilsa.SetMaxFUAllocation(xilsa.IClass[instr], 1);</div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;                    }</div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;                }</div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;</div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160;                Scheduler.Schedule(xilsa.CFG, constraints, xilsa);</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;                DesignContext.Pop();</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;                state.NotifyProgress(EHLSProgress.Scheduled);</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;            } <span class="keywordflow">while</span> (state._repeat);</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;            ComputeCStepsForBranchTargets(state.SchedulingAdapter);</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;            <span class="keywordflow">do</span></div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160;            {</div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;                state.ControlpathBuilder.PrepareAllocation(state.SchedulingAdapter.ComputeCStepCount());</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;                var flowSpec = state.SchedulingAdapter.Allocate(dpb);</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160;                state.RawFlows = flowSpec;</div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;                var realFlow = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">FlowMatrix</a>();</div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;                state.InterconnectBuilder.CreateInterconnect(flowSpec, realFlow);</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;                state.RealFlows = realFlow;</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;                state.NotifyProgress(EHLSProgress.InterconnectCreated);</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;            } <span class="keywordflow">while</span> (state._repeat);</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;            <span class="keywordflow">if</span> (state._cancel)</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;</div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;            Debug.Assert(state.RealFlows.FlowSources.All(sr =&gt; sr.Desc.Owner != null));</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;            Debug.Assert(state.RealFlows.FlowTargets.All(sr =&gt; sr.Desc.Owner != null));</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;            <span class="keywordflow">do</span></div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;            {</div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;                state.ControlpathBuilder.CreateControlpath(state.RealFlows, proc.Name);</div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;                <span class="keywordflow">foreach</span> (var prof <span class="keywordflow">in</span> constraints.<a class="code" href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html#ade30bdcd1ebe8f860ecde74c3cf09f87">Profilers</a>)</div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160;                    prof.ExtractFrom(state.XIL3Transformed, state.SchedulingAdapter);</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;                state.NotifyProgress(EHLSProgress.ControlpathCreated);</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;            } <span class="keywordflow">while</span> (state._repeat);</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;            <span class="keywordflow">if</span> (state._cancel)</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;                <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;        }</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;</div>
<div class="line"><a name="l00885"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae16a3580c43eafb44fa57514f2dc5d40">  885</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">static</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae16a3580c43eafb44fa57514f2dc5d40">CopyPlan</a>(<a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> other)</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        {</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;            var plan = <span class="keyword">new</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a>();</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;            other.CopyTo(plan);</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;            <span class="keywordflow">return</span> plan;</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;        }</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;    }</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    [AttributeUsage(AttributeTargets.Method, Inherited=<span class="keyword">false</span>, AllowMultiple=<span class="keyword">false</span>)]</div>
<div class="line"><a name="l00897"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html">  897</a></span>&#160;    <span class="keyword">public</span> <span class="keyword">class </span><a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html">HLS</a>: Attribute, <a class="code" href="interface_system_sharp_1_1_analysis_1_1_i_on_decompilation.html">IOnDecompilation</a></div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;    {</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;        <span class="keyword">private</span> <span class="keyword">class </span>Refinement : <a class="code" href="interface_system_sharp_1_1_components_1_1_i_refinement_cycle.html">IRefinementCycle</a></div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;        {</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> _pd;</div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;            <span class="keyword">private</span> PropertyInfo _planProp;</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;            <span class="keyword">private</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a> _plan;</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;            <span class="keyword">public</span> Refinement(<a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> pd, PropertyInfo planProp)</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;            {</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;                _pd = pd;</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;                _planProp = planProp;</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;            }</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;            <span class="keyword">public</span> <span class="keywordtype">void</span> Refine(<a class="code" href="class_system_sharp_1_1_components_1_1_design_context.html">DesignContext</a> context, <a class="code" href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">IProject</a> targetProject)</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;            {</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;                <a class="code" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">ComponentDescriptor</a> cd = (<a class="code" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">ComponentDescriptor</a>)_pd.<a class="code" href="class_system_sharp_1_1_meta_1_1_descriptor_base.html#a874f66f2d80c6e3931aec51883407ce2">Owner</a>;</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;                <a class="code" href="class_system_sharp_1_1_components_1_1_component.html">Component</a> rtl = cd.<a class="code" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html#ad9bb0e1feb32b2e0af66432fdbfbbb5f">Instance</a>;</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;</div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;                <span class="comment">// Remove synthesizing process</span></div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;                cd.<a class="code" href="class_system_sharp_1_1_meta_1_1_descriptor_base.html#a52aa96c099f881cec83c8edb735a9309">RemoveChild</a>(_pd);</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;                <span class="keywordflow">if</span> (_planProp != null)</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;                {</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;                    var owner = (<a class="code" href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">ComponentDescriptor</a>)_pd.Owner;</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;                    _plan = _planProp.GetValue(owner.Instance, <span class="keyword">new</span> <span class="keywordtype">object</span>[0]) as <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">HLSPlan</a>;</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;                    <span class="keywordflow">if</span> (_plan == null)</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;                    {</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;                        StringBuilder sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;                        sb.AppendFormat(<span class="stringliteral">&quot;HLS error: declaring type {0} with property {1} does not return an appropriate HLS plan&quot;</span>,</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;                            _pd.Method.DeclaringType.Name, _planProp);</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;                        <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(sb.ToString());</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;                    }</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;                }</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;                {</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;                    _plan = HLSPlan.CopyPlan(_pd.GetDesign().GetHLSPlan());</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;                }</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;                _plan.Execute(context, rtl, _pd, targetProject);</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;            }</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;        }</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;        <span class="keyword">private</span> <span class="keywordtype">string</span> _planPropName;</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;</div>
<div class="line"><a name="l00945"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a046b63aadc9002f72f5c01d29187dd1a">  945</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a046b63aadc9002f72f5c01d29187dd1a">HLS</a>(<span class="keywordtype">string</span> planPropName)</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;        {</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;            Contract.Requires&lt;ArgumentNullException&gt;(planPropName != null);</div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;            _planPropName = planPropName;</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        }</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;</div>
<div class="line"><a name="l00955"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#aa344b296bfb70b7db5f4bc74fd61758f">  955</a></span>&#160;        <span class="keyword">public</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#aa344b296bfb70b7db5f4bc74fd61758f">HLS</a>()</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;        {</div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        }</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;</div>
<div class="line"><a name="l00959"></a><span class="lineno"><a class="line" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a31d0e63ccbd8f22ebdcb5bd5ee8062a6">  959</a></span>&#160;        <span class="keyword">public</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a31d0e63ccbd8f22ebdcb5bd5ee8062a6">OnDecompilation</a>(<a class="code" href="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template.html">MSILDecompilerTemplate</a> decomp)</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;        {</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;            <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a> pd = decomp.Decompilee as <a class="code" href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">ProcessDescriptor</a>;</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;            <span class="keywordflow">if</span> (pd == null)</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(<span class="stringliteral">&quot;HLS for &quot;</span> + decomp.<a class="code" href="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template.html#a8980d557d8edb2fce76a617f5b6e8c2d">Decompilee</a>.<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#a1de8ff5411a1b144b0a8de282167fcb3">Name</a> + <span class="stringliteral">&quot; not possible: ain&#39;t a process&quot;</span>);</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;</div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;            PropertyInfo planProp = null;</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;            <span class="keywordflow">if</span> (_planPropName != null)</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;            {</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;                planProp = pd.Method.DeclaringType.GetProperty(_planPropName);</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;                <span class="keywordflow">if</span> (planProp == null &amp;&amp; pd.<a class="code" href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#af0fcc39436677ed2f8c0c094cef2d1d9">AsyncMethod</a> != null)</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;                    planProp = pd.AsyncMethod.DeclaringType.GetProperty(_planPropName);</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;                <span class="keywordflow">if</span> (planProp == null)</div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160;                {</div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;                    StringBuilder sb = <span class="keyword">new</span> StringBuilder();</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;                    sb.AppendFormat(<span class="stringliteral">&quot;HLS error: declaring type {0} does not define property {1} defining the HLS plan&quot;</span>,</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                        pd.Method.DeclaringType.Name, _planPropName);</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;                    <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException(sb.ToString());</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;                }</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;            }</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;            DesignContext.Instance.QueueRefinement(<span class="keyword">new</span> Refinement(pd, planProp));</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;            decomp.AddAttribute(<span class="keyword">this</span>);</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160;            decomp.DisallowConditionals = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00983"></a><span class="lineno">  983</span>&#160;</div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;            <span class="comment">// FIXME: Does it always make sense? Currently just a hack to get PhysicalModels working...</span></div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;            <span class="comment">// Answer: No, it doesn&#39;t make sense. To many loops need to be instrumented by ProgramFlow.DoNotUnroll()</span></div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;            <span class="comment">// ==&gt; very error-prone...</span></div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;            <span class="comment">// decomp.TryToEliminateLoops = true;</span></div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160;</div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;        }</div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;    }</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;}</div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l3_function_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l3_function.html">SystemSharp.Assembler.XIL3Function</a></div><div class="ttdoc">A XIL-3 function </div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00644">AsmCore.cs:644</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_unreachable_instruction_eliminator_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_unreachable_instruction_eliminator.html">SystemSharp.Assembler.Rewriters.UnreachableInstructionEliminator</a></div><div class="ttdoc">This XIL-S code transformation eliminates unreachable instructions </div><div class="ttdef"><b>Definition:</b> <a href="_unreachable_instruction_eliminator_8cs_source.html#l00088">UnreachableInstructionEliminator.cs:88</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_transitive_goto_eliminator_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_transitive_goto_eliminator.html">SystemSharp.Assembler.Rewriters.TransitiveGotoEliminator</a></div><div class="ttdoc">This XIL-S code transformation tries to reduce the number of branch instructions inside the code by r...</div><div class="ttdef"><b>Definition:</b> <a href="_transitive_goto_eliminator_8cs_source.html#l00081">TransitiveGotoEliminator.cs:81</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr_html_a55330e8f2ddc40d951123d8dc979c14a"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html#a55330e8f2ddc40d951123d8dc979c14a">SystemSharp.Assembler.XIL3Instr.StaticOperand</a></div><div class="ttdeci">object StaticOperand</div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00383">AsmCore.cs:383</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_components_1_1_i_refinement_cycle_html"><div class="ttname"><a href="interface_system_sharp_1_1_components_1_1_i_refinement_cycle.html">SystemSharp.Components.IRefinementCycle</a></div><div class="ttdoc">Interface for a design refinement </div><div class="ttdef"><b>Definition:</b> <a href="_design_context_8cs_source.html#l01118">DesignContext.cs:1118</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_i_on_decompilation_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_i_on_decompilation.html">SystemSharp.Analysis.IOnDecompilation</a></div><div class="ttdoc">This marker interface instructs the decompiler to call OnDecompilation just before decompilation star...</div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l00111">MSILDecompiler.cs:111</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer_html"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html">SystemSharp.Analysis.M2M.DocumentingHLSObserver</a></div><div class="ttdoc">This class provides helper methods which observe any HLS process and create textual reports for docum...</div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00247">HLS.cs:247</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_descriptor_base_html_a52aa96c099f881cec83c8edb735a9309"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_descriptor_base.html#a52aa96c099f881cec83c8edb735a9309">SystemSharp.Meta.DescriptorBase.RemoveChild</a></div><div class="ttdeci">void RemoveChild(DescriptorBase desc)</div><div class="ttdoc">Removes a subordinate descriptor. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l00416">ComponentsReflection.cs:416</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_ac147fce20baff5592241d44ca269596e"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ac147fce20baff5592241d44ca269596e">SystemSharp.Analysis.M2M.HLSPlan.Execute</a></div><div class="ttdeci">void Execute(DesignContext design, Component host, ProcessDescriptor proc, IProject targetProject)</div><div class="ttdoc">Executes the HLS design flow. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00734">HLS.cs:734</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_code_descriptor_html_a1de8ff5411a1b144b0a8de282167fcb3"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#a1de8ff5411a1b144b0a8de282167fcb3">SystemSharp.Meta.CodeDescriptor.Name</a></div><div class="ttdeci">override string Name</div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01574">ComponentsReflection.cs:1574</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_scheduling_algorithms_1_1_i_c_f_g_scheduling_algorithm_html"><div class="ttname"><a href="interface_system_sharp_1_1_scheduling_algorithms_1_1_i_c_f_g_scheduling_algorithm.html">SystemSharp.SchedulingAlgorithms.ICFGSchedulingAlgorithm</a></div><div class="ttdoc">Interface of a function-level scheduling algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="_interfaces_8cs_source.html#l00316">Interfaces.cs:316</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr_html_ab8cd605fc1b82442d7dab4885bc231ca"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html#ab8cd605fc1b82442d7dab4885bc231ca">SystemSharp.Assembler.XIL3Instr.Name</a></div><div class="ttdeci">string Name</div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00388">AsmCore.cs:388</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_ae6c070cf66bbf54bc0495371cec84dce"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae6c070cf66bbf54bc0495371cec84dce">SystemSharp.Analysis.M2M.HLSPlan.AddXILMapper</a></div><div class="ttdeci">void AddXILMapper(Type dpuType)</div><div class="ttdoc">Adds a XIL mapper which is identified by its type or the type of its functional unit. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00537">HLS.cs:537</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state_html_affdcf803aff8fd04fe6ba23f2133cef9"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html#affdcf803aff8fd04fe6ba23f2133cef9">SystemSharp.Analysis.M2M.IHLSState.OnProgress</a></div><div class="ttdeci">HLSProgressProc OnProgress</div><div class="ttdoc">The event is triggered whenever some milestone during HLS was reached. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00182">HLS.cs:182</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_a9a8e4b47cd0082e9c0487a9da0c12e10"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9a8e4b47cd0082e9c0487a9da0c12e10">SystemSharp.Analysis.M2M.HLSPlan.CopyTo</a></div><div class="ttdeci">void CopyTo(HLSPlan other)</div><div class="ttdoc">Copies the current plan to another instance. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00589">HLS.cs:589</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_eliminate_common_subexpressions_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_eliminate_common_subexpressions.html">SystemSharp.Assembler.Rewriters.EliminateCommonSubexpressions</a></div><div class="ttdoc">This attribute instructs the XIL compiler to perform common subexpression elimination on the transfor...</div><div class="ttdef"><b>Definition:</b> <a href="_c_s_e_8cs_source.html#l00119">CSE.cs:119</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_a043aab04fbc5bfaf0bcfa05897a390ca"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a043aab04fbc5bfaf0bcfa05897a390ca">SystemSharp.Analysis.M2M.HLSPlan.HLSPlan</a></div><div class="ttdeci">HLSPlan()</div><div class="ttdoc">Constructs an empty synthesis plan. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00522">HLS.cs:522</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints_html"><div class="ttname"><a href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html">SystemSharp.SchedulingAlgorithms.SchedulingConstraints</a></div><div class="ttdoc">Provides requirements and hints to the scheduling algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="_interfaces_8cs_source.html#l00259">Interfaces.cs:259</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l3_rewriter_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l3_rewriter.html">SystemSharp.Analysis.M2M.IXIL3Rewriter</a></div><div class="ttdoc">An interface for classes which rewrite lists of XIL-3 instructions. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00060">HLS.cs:60</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_local_storage_unit.html">SystemSharp.Components.Std.LocalStorageUnit</a></div><div class="ttdoc">Implements a register with optional write-through semantics, i.e. input is directly passed to output ...</div><div class="ttdef"><b>Definition:</b> <a href="_l_v_access_8cs_source.html#l00140">LVAccess.cs:140</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_slicer_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_slicer.html">SystemSharp.Components.Std.Slicer</a></div><div class="ttdoc">A functional unit for performing slice operations on bit-vectors. The slice semantics are generalized...</div><div class="ttdef"><b>Definition:</b> <a href="_slicer_8cs_source.html#l00056">Slicer.cs:56</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_code_descriptor_html_af0fcc39436677ed2f8c0c094cef2d1d9"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#af0fcc39436677ed2f8c0c094cef2d1d9">SystemSharp.Meta.CodeDescriptor.AsyncMethod</a></div><div class="ttdeci">MethodInfo AsyncMethod</div><div class="ttdoc">CLI information on the user-visible async method, null if the described method is not async...</div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01523">ComponentsReflection.cs:1523</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_components_1_1_std_1_1_i_block_mem_factory_html"><div class="ttname"><a href="interface_system_sharp_1_1_components_1_1_std_1_1_i_block_mem_factory.html">SystemSharp.Components.Std.IBlockMemFactory</a></div><div class="ttdoc">Factory pattern for creating implementations of ROM/RAM components </div><div class="ttdef"><b>Definition:</b> <a href="_block_mem_8cs_source.html#l00207">BlockMem.cs:207</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_design_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_design_descriptor.html">SystemSharp.Meta.DesignDescriptor</a></div><div class="ttdoc">Describes the overall design. This is the root component of the design hierarchy. ...</div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l02171">ComponentsReflection.cs:2171</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_html_a046b63aadc9002f72f5c01d29187dd1a"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a046b63aadc9002f72f5c01d29187dd1a">SystemSharp.Analysis.M2M.HLS.HLS</a></div><div class="ttdeci">HLS(string planPropName)</div><div class="ttdoc">Requests HLS for the given process, specifying a property name for retrieving the synthesis plan...</div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00945">HLS.cs:945</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_fix_point_implementor_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_fix_point_implementor.html">SystemSharp.Assembler.Rewriters.FixPointImplementor</a></div><div class="ttdoc">This XIL-S code transformation makes fixed-point arithmetic compliant with several word-length restri...</div><div class="ttdef"><b>Definition:</b> <a href="_fix_point_implementor_8cs_source.html#l00471">FixPointImplementor.cs:471</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_conditional_branch_optimizer_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_conditional_branch_optimizer.html">SystemSharp.Assembler.Rewriters.ConditionalBranchOptimizer</a></div><div class="ttdoc">This XIL-S code transformation tries to reduce the amount of branch instructions. ...</div><div class="ttdef"><b>Definition:</b> <a href="_conditional_branch_optimizer_8cs_source.html#l00102">ConditionalBranchOptimizer.cs:102</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_a_l_u.html">SystemSharp.Components.Std.ALU</a></div><div class="ttdoc">Provides a synthesizable implementation of an arithmetic-logical unit (ALU). It is intended to be use...</div><div class="ttdef"><b>Definition:</b> <a href="_a_l_u_8cs_source.html#l00039">ALU.cs:39</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_variable_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_variable.html">SystemSharp.SysDOM.Variable</a></div><div class="ttdoc">A local variable. </div><div class="ttdef"><b>Definition:</b> <a href="_literals_8cs_source.html#l00195">Literals.cs:195</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_inline_field_mapper.html">SystemSharp.Components.Std.InlineFieldMapper</a></div><div class="ttdoc">A service for mapping XIL instructions which perform read/write accesses on fields to hardware...</div><div class="ttdef"><b>Definition:</b> <a href="_inline_field_access_8cs_source.html#l00040">InlineFieldAccess.cs:40</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html">SystemSharp.Analysis.M2M.HLSPlan</a></div><div class="ttdoc">Represents a synthesis plan. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00365">HLS.cs:365</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774a4ead4fdae2e4938c155e1db52aa1546d"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a4ead4fdae2e4938c155e1db52aa1546d">SystemSharp.Analysis.M2M.Compiled</a></div><div class="ttdoc">The XIL code was compiled. </div></div>
<div class="ttc" id="class_system_sharp_1_1_sys_d_o_m_1_1_function_html"><div class="ttname"><a href="class_system_sharp_1_1_sys_d_o_m_1_1_function.html">SystemSharp.SysDOM.Function</a></div><div class="ttdoc">Models a SysDOM function. </div><div class="ttdef"><b>Definition:</b> <a href="_algorithms_8cs_source.html#l01562">Algorithms.cs:1562</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions_html_a5dc3ba8d0ad20da565f3712a8e1cd738"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html#a5dc3ba8d0ad20da565f3712a8e1cd738">SystemSharp.Analysis.M2M.HLSPlanExtensions.GetHLSPlan</a></div><div class="ttdeci">static HLSPlan GetHLSPlan(this DesignDescriptor dd)</div><div class="ttdoc">Returns synthesis plan of a given design descriptor. If none exists, a new one gets created...</div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00336">HLS.cs:336</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_reduce_types_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_reduce_types.html">SystemSharp.Assembler.Rewriters.ReduceTypes</a></div><div class="ttdoc">This XIL-S code transformation converts each datatype to a hardware-compliant datatype. </div><div class="ttdef"><b>Definition:</b> <a href="_type_reducer_8cs_source.html#l00077">TypeReducer.cs:77</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_fix_f_p_mod1_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_fix_f_p_mod1.html">SystemSharp.Components.Std.FixFPMod1</a></div><div class="ttdoc">Given a fixed-point number x, this component computes the fixed-point modulus of x and 1...</div><div class="ttdef"><b>Definition:</b> <a href="_f_p_mod1_8cs_source.html#l00047">FPMod1.cs:47</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_h_l_s_state.html">SystemSharp.Analysis.M2M.IHLSState</a></div><div class="ttdoc">Represents the state of a high-level synthesis process- </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00124">HLS.cs:124</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_float_sign_as_signed.html">SystemSharp.Components.Std.FloatSignAsSigned</a></div><div class="ttdoc">Provides a synthesizable implementation of the signum function for floating-point arithmetic...</div><div class="ttdef"><b>Definition:</b> <a href="_float_sign_as_signed_8cs_source.html#l00054">FloatSignAsSigned.cs:54</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_process_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_process_descriptor.html">SystemSharp.Meta.ProcessDescriptor</a></div><div class="ttdoc">Describes a process. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01630">ComponentsReflection.cs:1630</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder_html"><div class="ttname"><a href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder.html">SystemSharp.Assembler.DesignGen.IInterconnectBuilder</a></div><div class="ttdoc">Generic interface of interconnect builder algorithms </div><div class="ttdef"><b>Definition:</b> <a href="_builder_interfaces_8cs_source.html#l00053">BuilderInterfaces.cs:53</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_reporting_x_i_l_rewriter_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_reporting_x_i_l_rewriter.html">SystemSharp.Analysis.M2M.IReportingXILRewriter</a></div><div class="ttdoc">Indicates the ability of a XIL-S or XIL-3 rewriter to deliver a report on the last rewrite action...</div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00074">HLS.cs:74</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l_s_rewriter_html"><div class="ttname"><a href="interface_system_sharp_1_1_analysis_1_1_m2_m_1_1_i_x_i_l_s_rewriter.html">SystemSharp.Analysis.M2M.IXILSRewriter</a></div><div class="ttdoc">An interface for classes which rewrite lists of XIL-S instructions. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00047">HLS.cs:47</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder_factory_html"><div class="ttname"><a href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_interconnect_builder_factory.html">SystemSharp.Assembler.DesignGen.IInterconnectBuilderFactory</a></div><div class="ttdoc">Factory pattern for interconnect builder algorithms </div><div class="ttdef"><b>Definition:</b> <a href="_builder_interfaces_8cs_source.html#l00032">BuilderInterfaces.cs:32</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_html"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html">SystemSharp.Analysis.M2M.HLS</a></div><div class="ttdoc">Any process which has this attribute attached will be subject to high level synthesis. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00897">HLS.cs:897</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_document_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_document.html">SystemSharp.Meta.Document</a></div><div class="ttdoc">A document of SysDOM&#39;s integrated documentation system. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l00315">ComponentsReflection.cs:315</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l_s_function.html">SystemSharp.Assembler.XILSFunction</a></div><div class="ttdoc">A XIL-S function </div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00861">AsmCore.cs:861</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774ab3f09a11ba6134774183ac404b73b9b8"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774ab3f09a11ba6134774183ac404b73b9b8">SystemSharp.Analysis.M2M.AboutToSchedule</a></div><div class="ttdoc">The XIL code was rewritten and is now ready to be scheduled. </div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer_html_ab63c7f6684b60c36e203276cdcb7e71b"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#ab63c7f6684b60c36e203276cdcb7e71b">SystemSharp.Analysis.M2M.DocumentingHLSObserver.Disable</a></div><div class="ttdeci">static void Disable()</div><div class="ttdoc">Globally disables the creation of HLS documentation. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00265">HLS.cs:265</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_expand_x_i_l_s.html">SystemSharp.Assembler.Rewriters.ExpandXILS</a></div><div class="ttdoc">This attribute instructs the XIL compiler to apply one of the default code transformations ...</div><div class="ttdef"><b>Definition:</b> <a href="_instruction_expander_8cs_source.html#l00312">InstructionExpander.cs:312</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774">SystemSharp.Analysis.M2M.EHLSProgress</a></div><div class="ttdeci">EHLSProgress</div><div class="ttdoc">Describes the progress of a high-level synthesis process in terms of major milestones. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00086">HLS.cs:86</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_code_descriptor_html_a8d913dfbb4d12e63790db27c1a45521e"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_code_descriptor.html#a8d913dfbb4d12e63790db27c1a45521e">SystemSharp.Meta.CodeDescriptor.Implementation</a></div><div class="ttdeci">Function Implementation</div><div class="ttdoc">SysDOM description of the CLI method, possibly with optimizations with respect to the method&#39;s call c...</div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01533">ComponentsReflection.cs:1533</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder_factory_html"><div class="ttname"><a href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder_factory.html">SystemSharp.Assembler.DesignGen.IControlpathBuilderFactory</a></div><div class="ttdoc">Factory pattern for control path builder algorithms </div><div class="ttdef"><b>Definition:</b> <a href="_builder_interfaces_8cs_source.html#l00066">BuilderInterfaces.cs:66</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html">SystemSharp.Assembler.XILSchedulingAdapter</a></div><div class="ttdoc">Provides a scheduling adapter for XIL-3 instructions </div><div class="ttdef"><b>Definition:</b> <a href="_x_i_l_scheduling_adapter_8cs_source.html#l00150">XILSchedulingAdapter.cs:150</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_ae16a3580c43eafb44fa57514f2dc5d40"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#ae16a3580c43eafb44fa57514f2dc5d40">SystemSharp.Analysis.M2M.HLSPlan.CopyPlan</a></div><div class="ttdeci">static HLSPlan CopyPlan(HLSPlan other)</div><div class="ttdoc">Clones a given synthesis plan. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00885">HLS.cs:885</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_design_context_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_design_context.html">SystemSharp.Components.DesignContext</a></div><div class="ttdoc">This class encapsulates the simulation context. Each design has an associated simulation context...</div><div class="ttdef"><b>Definition:</b> <a href="_design_context_8cs_source.html#l00047">DesignContext.cs:47</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter_html_a64607b93cc268df910288ffde26f9d51"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l_scheduling_adapter.html#a64607b93cc268df910288ffde26f9d51">SystemSharp.Assembler.XILSchedulingAdapter.CStep</a></div><div class="ttdeci">IPropMap&lt; XIL3Instr, long &gt; CStep</div><div class="ttdoc">Maps each instruction to the c-step at which it is scheduled </div><div class="ttdef"><b>Definition:</b> <a href="_x_i_l_scheduling_adapter_8cs_source.html#l00408">XILSchedulingAdapter.cs:408</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_port_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_port_descriptor.html">SystemSharp.Meta.PortDescriptor</a></div><div class="ttdoc">Describes a port. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01083">ComponentsReflection.cs:1083</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper_html"><div class="ttname"><a href="interface_system_sharp_1_1_components_1_1_f_u_1_1_i_x_i_l_mapper.html">SystemSharp.Components.FU.IXILMapper</a></div><div class="ttdoc">Describes a service which maps XIL instructions to hardware functional units </div><div class="ttdef"><b>Definition:</b> <a href="_functional_components_8cs_source.html#l00184">FunctionalComponents.cs:184</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_design_gen_1_1_default_datapath_builder_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_design_gen_1_1_default_datapath_builder.html">SystemSharp.Assembler.DesignGen.DefaultDatapathBuilder</a></div><div class="ttdoc">This class provides a default implementation of the IDatapathBuilder interface. By the way...</div><div class="ttdef"><b>Definition:</b> <a href="_default_datapath_builder_8cs_source.html#l00035">DefaultDatapathBuilder.cs:35</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l3_instr.html">SystemSharp.Assembler.XIL3Instr</a></div><div class="ttdoc">A XIL-3 instruction </div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00350">AsmCore.cs:350</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774a9a7514f14070883a3610535dd2101abc"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a9a7514f14070883a3610535dd2101abc">SystemSharp.Analysis.M2M.InterconnectCreated</a></div><div class="ttdoc">The interconnect logic of the datapath was created. </div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_shifter_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_shifter.html">SystemSharp.Components.Std.Shifter</a></div><div class="ttdoc">A logical shift unit (arithmetic shifts not currently not supported). </div><div class="ttdef"><b>Definition:</b> <a href="_shifter_8cs_source.html#l00063">Shifter.cs:63</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_read_write_dependency_injector_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_read_write_dependency_injector.html">SystemSharp.Assembler.Rewriters.ReadWriteDependencyInjector</a></div><div class="ttdoc">This XIL-S code transformation retroactively infers read-after-write, write-after-write and write-aft...</div><div class="ttdef"><b>Definition:</b> <a href="_read_write_dependency_injector_8cs_source.html#l00159">ReadWriteDependencyInjector.cs:159</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template_html_a8980d557d8edb2fce76a617f5b6e8c2d"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template.html#a8980d557d8edb2fce76a617f5b6e8c2d">SystemSharp.Analysis.MSILDecompilerTemplate.Decompilee</a></div><div class="ttdeci">CodeDescriptor Decompilee</div><div class="ttdoc">The code descriptor of the method being decompiled </div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l01368">MSILDecompiler.cs:1368</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_signal_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_signal_descriptor.html">SystemSharp.Meta.SignalDescriptor</a></div><div class="ttdoc">Describes a signal. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l01180">ComponentsReflection.cs:1180</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774a2b7dabba0077abe3732e0418b048a56b"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774a2b7dabba0077abe3732e0418b048a56b">SystemSharp.Analysis.M2M.Scheduled</a></div><div class="ttdoc">The XIL code was scheduled. </div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_branch_label_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_branch_label.html">SystemSharp.Assembler.BranchLabel</a></div><div class="ttdoc">A branch label </div><div class="ttdef"><b>Definition:</b> <a href="_asm_core_8cs_source.html#l00580">AsmCore.cs:580</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_signal_base_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_signal_base.html">SystemSharp.Components.SignalBase</a></div><div class="ttdoc">This is the abstract base class of a signal. </div><div class="ttdef"><b>Definition:</b> <a href="_signals_core_8cs_source.html#l00338">SignalsCore.cs:338</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder_html"><div class="ttname"><a href="interface_system_sharp_1_1_assembler_1_1_design_gen_1_1_i_controlpath_builder.html">SystemSharp.Assembler.DesignGen.IControlpathBuilder</a></div><div class="ttdoc">Generic interface of control path construction algorithms </div><div class="ttdef"><b>Definition:</b> <a href="_builder_interfaces_8cs_source.html#l00085">BuilderInterfaces.cs:85</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_assembler_1_1_rewriters_html_a97c7cf3d49d955d92ec5514f378eb866"><div class="ttname"><a href="namespace_system_sharp_1_1_assembler_1_1_rewriters.html#a97c7cf3d49d955d92ec5514f378eb866">SystemSharp.Assembler.Rewriters.EXILSExpansion</a></div><div class="ttdeci">EXILSExpansion</div><div class="ttdoc">Default instruction expansions </div><div class="ttdef"><b>Definition:</b> <a href="_instruction_expander_8cs_source.html#l00250">InstructionExpander.cs:250</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_inline_memory_mapper.html">SystemSharp.Components.Std.InlineMemoryMapper</a></div><div class="ttdoc">A service for mapping XIL instructions which perform array accesses to hardware. The arrays are mappe...</div><div class="ttdef"><b>Definition:</b> <a href="_inline_memory_8cs_source.html#l00041">InlineMemory.cs:41</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_const_loading_x_i_l_mapper.html">SystemSharp.Components.Std.ConstLoadingXILMapper</a></div><div class="ttdoc">A service for mapping constant-loading XIL instructions to hardware. </div><div class="ttdef"><b>Definition:</b> <a href="_const_loader_8cs_source.html#l00161">ConstLoader.cs:161</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_x_i_l_memory_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_x_i_l_memory_mapper.html">SystemSharp.Assembler.Rewriters.XILMemoryMapper</a></div><div class="ttdoc">This XIL-S code transformation maps array operations to memory operations. Optionally, it can also map constants and variables to memory. </div><div class="ttdef"><b>Definition:</b> <a href="_memory_mapper_8cs_source.html#l00685">MemoryMapper.cs:685</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_float_neg_abs.html">SystemSharp.Components.Std.FloatNegAbs</a></div><div class="ttdoc">Provides a synthesizable implementation of negation and absolute value function for floating-point ar...</div><div class="ttdef"><b>Definition:</b> <a href="_float_neg_abs_8cs_source.html#l00059">FloatNegAbs.cs:59</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_f_u_1_1_declare_x_i_l_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_f_u_1_1_declare_x_i_l_mapper.html">SystemSharp.Components.FU.DeclareXILMapper</a></div><div class="ttdoc">This attribute declares a XIL mapper for the hardware functional unit implementation it is attached t...</div><div class="ttdef"><b>Definition:</b> <a href="_functional_components_8cs_source.html#l00223">FunctionalComponents.cs:223</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions_html"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_extensions.html">SystemSharp.Analysis.M2M.HLSPlanExtensions</a></div><div class="ttdoc">This static class is intended for extension methods dealing with synthesis plans. ...</div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00328">HLS.cs:328</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_synthesis_1_1_memory_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_synthesis_1_1_memory_mapper.html">SystemSharp.Synthesis.MemoryMapper</a></div><div class="ttdoc">Provides an entry point for memory mapping. </div><div class="ttdef"><b>Definition:</b> <a href="_memory_mapping_8cs_source.html#l00969">MemoryMapping.cs:969</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_descriptor_base_html_a874f66f2d80c6e3931aec51883407ce2"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_descriptor_base.html#a874f66f2d80c6e3931aec51883407ce2">SystemSharp.Meta.DescriptorBase.Owner</a></div><div class="ttdeci">virtual DescriptorBase Owner</div><div class="ttdoc">Owner of this descriptor. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l00371">ComponentsReflection.cs:371</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_m_u_x2.html">SystemSharp.Components.Std.MUX2</a></div><div class="ttdoc">Implements a multiplexer with two inputs. The component is intended to be used by high-level synthesi...</div><div class="ttdef"><b>Definition:</b> <a href="_m_u_x2_8cs_source.html#l00054">MUX2.cs:54</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_inline_concat_mapper.html">SystemSharp.Components.Std.InlineConcatMapper</a></div><div class="ttdoc">A service for mapping the &quot;concat&quot; (bit-vector concatenation) XIL instruction to hardware. The service does not instantiate any extra component. Instead, the necessary code is directly inserted into the hosting component. It is supported to concatenate arbitrarily many signals with different bit-widths. </div><div class="ttdef"><b>Definition:</b> <a href="_inline_concat_8cs_source.html#l00041">InlineConcat.cs:41</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_port_reader_x_i_l_mapper.html">SystemSharp.Components.Std.PortReaderXILMapper</a></div><div class="ttdoc">A service for mapping the &quot;rdport&quot; XIL instruction to hardware. </div><div class="ttdef"><b>Definition:</b> <a href="_port_access_8cs_source.html#l00219">PortAccess.cs:219</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_synthesis_1_1_i_project_html"><div class="ttname"><a href="interface_system_sharp_1_1_synthesis_1_1_i_project.html">SystemSharp.Synthesis.IProject</a></div><div class="ttdoc">Interface for project generators. </div><div class="ttdef"><b>Definition:</b> <a href="_synthesis_8cs_source.html#l00045">Synthesis.cs:45</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer_html_aede69db52a94623e5276113ba5191997"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_documenting_h_l_s_observer.html#aede69db52a94623e5276113ba5191997">SystemSharp.Analysis.M2M.DocumentingHLSObserver.Enable</a></div><div class="ttdeci">static void Enable()</div><div class="ttdoc">Globally enables the creation of HLS documentation. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00257">HLS.cs:257</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_impl_type_rewriter_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_rewriters_1_1_impl_type_rewriter.html">SystemSharp.Assembler.Rewriters.ImplTypeRewriter</a></div><div class="ttdoc">This XIL-S code transformation introduces datatype conversions where necessary in order to make it co...</div><div class="ttdef"><b>Definition:</b> <a href="_impl_type_rewriter_8cs_source.html#l00891">ImplTypeRewriter.cs:891</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_nop_mapper.html">SystemSharp.Components.Std.NopMapper</a></div><div class="ttdoc">A service for mapping the &quot;nop&quot; XIL instruction to hardware. </div><div class="ttdef"><b>Definition:</b> <a href="_nop_mapper_8cs_source.html#l00036">NopMapper.cs:36</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints_html_ade30bdcd1ebe8f860ecde74c3cf09f87"><div class="ttname"><a href="class_system_sharp_1_1_scheduling_algorithms_1_1_scheduling_constraints.html#ade30bdcd1ebe8f860ecde74c3cf09f87">SystemSharp.SchedulingAlgorithms.SchedulingConstraints.Profilers</a></div><div class="ttdeci">List&lt; ScheduleProfiler &gt; Profilers</div><div class="ttdoc">Attached profilers. </div><div class="ttdef"><b>Definition:</b> <a href="_interfaces_8cs_source.html#l00280">Interfaces.cs:280</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_a232dcd65dd28869d5ca1143571c57a80"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a232dcd65dd28869d5ca1143571c57a80">SystemSharp.Analysis.M2M.HLSPlan.CreateDefaultPlan</a></div><div class="ttdeci">static HLSPlan CreateDefaultPlan()</div><div class="ttdoc">Creates a default synthesis plan. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00605">HLS.cs:605</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_x_i_l_mapper_manager.html">SystemSharp.Assembler.XILMapperManager</a></div><div class="ttdoc">Serves as an aggregate XIL mapper. From all registered mappers, this class selects the first suitable...</div><div class="ttdef"><b>Definition:</b> <a href="_x_i_l_mapping_8cs_source.html#l00042">XILMapping.cs:42</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_port_writer_x_i_l_mapper.html">SystemSharp.Components.Std.PortWriterXILMapper</a></div><div class="ttdoc">A service for mapping the &quot;wrport&quot; XIL instruction to hardware. </div><div class="ttdef"><b>Definition:</b> <a href="_port_access_8cs_source.html#l00792">PortAccess.cs:792</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_component_descriptor_html"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_component_descriptor.html">SystemSharp.Meta.ComponentDescriptor</a></div><div class="ttdoc">Describes a component. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l02092">ComponentsReflection.cs:2092</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_html_aa344b296bfb70b7db5f4bc74fd61758f"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#aa344b296bfb70b7db5f4bc74fd61758f">SystemSharp.Analysis.M2M.HLS.HLS</a></div><div class="ttdeci">HLS()</div><div class="ttdoc">Requests HLS for the given process, using the default synthesis plan. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00955">HLS.cs:955</a></div></div>
<div class="ttc" id="interface_system_sharp_1_1_assembler_1_1_i_allocation_policy_factory_html"><div class="ttname"><a href="interface_system_sharp_1_1_assembler_1_1_i_allocation_policy_factory.html">SystemSharp.Assembler.IAllocationPolicyFactory</a></div><div class="ttdoc">Factory pattern for hardware functional unit allocation policy </div><div class="ttdef"><b>Definition:</b> <a href="_x_i_l_mapping_8cs_source.html#l00166">XILMapping.cs:166</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_a08744ae9d9722cad6e4926ead90f5774ad55062b3e824f1b61d6bbf0028c793f9"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#a08744ae9d9722cad6e4926ead90f5774ad55062b3e824f1b61d6bbf0028c793f9">SystemSharp.Analysis.M2M.ControlpathCreated</a></div><div class="ttdoc">The control path was created. </div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_std_1_1_fixed_abs.html">SystemSharp.Components.Std.FixedAbs</a></div><div class="ttdoc">Implements a synthesizable absolute value function for fixed-point arithmetic. The component is inten...</div><div class="ttdef"><b>Definition:</b> <a href="_fixed_abs_8cs_source.html#l00058">FixedAbs.cs:58</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_components_1_1_component_html"><div class="ttname"><a href="class_system_sharp_1_1_components_1_1_component.html">SystemSharp.Components.Component</a></div><div class="ttdoc">The abstract base class for defining components. </div><div class="ttdef"><b>Definition:</b> <a href="_component_8cs_source.html#l00038">Component.cs:38</a></div></div>
<div class="ttc" id="namespace_system_sharp_1_1_analysis_1_1_m2_m_html_ae02fc0bf28577d2ff765a89d47e39cd5"><div class="ttname"><a href="namespace_system_sharp_1_1_analysis_1_1_m2_m.html#ae02fc0bf28577d2ff765a89d47e39cd5">SystemSharp.Analysis.M2M.HLSProgressProc</a></div><div class="ttdeci">delegate void HLSProgressProc(IHLSState state, EHLSProgress progress)</div><div class="ttdoc">Callback to be invoked whenever the high-level synthesis process makes any progress. </div></div>
<div class="ttc" id="class_system_sharp_1_1_meta_1_1_component_descriptor_html_ad9bb0e1feb32b2e0af66432fdbfbbb5f"><div class="ttname"><a href="class_system_sharp_1_1_meta_1_1_component_descriptor.html#ad9bb0e1feb32b2e0af66432fdbfbbb5f">SystemSharp.Meta.ComponentDescriptor.Instance</a></div><div class="ttdeci">new Component Instance</div><div class="ttdoc">Returns the instance of the described component. </div><div class="ttdef"><b>Definition:</b> <a href="_components_reflection_8cs_source.html#l02124">ComponentsReflection.cs:2124</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_assembler_1_1_flow_matrix_html"><div class="ttname"><a href="class_system_sharp_1_1_assembler_1_1_flow_matrix.html">SystemSharp.Assembler.FlowMatrix</a></div><div class="ttdoc">A flow matrix models timed dataflows between data sources and sinks. It is the fundamental abstractio...</div><div class="ttdef"><b>Definition:</b> <a href="_flow_matrix_8cs_source.html#l00050">FlowMatrix.cs:50</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template_html"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m_s_i_l_decompiler_template.html">SystemSharp.Analysis.MSILDecompilerTemplate</a></div><div class="ttdoc">The decompiler context. This huge class implements the actual decompilation algorithms. </div><div class="ttdef"><b>Definition:</b> <a href="_m_s_i_l_decompiler_8cs_source.html#l01210">MSILDecompiler.cs:1210</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_html_a31d0e63ccbd8f22ebdcb5bd5ee8062a6"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s.html#a31d0e63ccbd8f22ebdcb5bd5ee8062a6">SystemSharp.Analysis.M2M.HLS.OnDecompilation</a></div><div class="ttdeci">virtual void OnDecompilation(MSILDecompilerTemplate decomp)</div><div class="ttdoc">Method to be called just before decompilation starts </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00959">HLS.cs:959</a></div></div>
<div class="ttc" id="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan_html_a9c08bdc5b1fd74546e81b376c3bbba74"><div class="ttname"><a href="class_system_sharp_1_1_analysis_1_1_m2_m_1_1_h_l_s_plan.html#a9c08bdc5b1fd74546e81b376c3bbba74">SystemSharp.Analysis.M2M.HLSPlan.AddXILMapper</a></div><div class="ttdeci">void AddXILMapper(IXILMapper mapper)</div><div class="ttdoc">Adds an already instantiated XIL mapper. </div><div class="ttdef"><b>Definition:</b> <a href="_h_l_s_8cs_source.html#l00569">HLS.cs:569</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_bb5e995590685548b7e11478911ee7c3.html">SystemSharp-Google-SVN</a></li><li class="navelem"><a class="el" href="dir_8deefa4467a62b572b52d238d562b104.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_0e5a72156f8560bbc472a395da2569d6.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_9d3c30b4336bd92c64ccf0aeee487ace.html">SystemSharp</a></li><li class="navelem"><a class="el" href="dir_d5bda8a155622a5a3d520660116af4c1.html">Analysis</a></li><li class="navelem"><a class="el" href="dir_bf02e0fcf3d90119210aa041c56ef094.html">M2M</a></li><li class="navelem"><a class="el" href="_h_l_s_8cs.html">HLS.cs</a></li>
    <li class="footer">Generated on Thu Dec 26 2013 14:21:39 for SystemSharp by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
